package com.wicket.okrapp.integration;

import com.wicket.okrapp.common.ro.OkrResult;
import com.wicket.okrapp.integration.dto.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@FeignClient("app")
public interface FwAppQuestionClient {
/**
   * D3查询问题详情(公共)
   */
    @PostMapping("/app/question/queryQuestionDetailCom")
    public OkrResult<QueryQuestionDetailComRespDto> queryQuestionDetailCom(QueryQuestionDetailComReqDto reqDTO);
/**
   * D3查询问题列表(公共)
   */
    @PostMapping("/app/question/queryQuestionListCom")
    public OkrResult<QueryQuestionListComRespDto> queryQuestionListCom(QueryQuestionListComReqDto reqDTO);
/**
   * D3修改问题(公共)
   */
    @PostMapping("/app/question/updateQuestionCom")
    public OkrResult<UpdateQuestionComRespDto> updateQuestionCom(UpdateQuestionComReqDto reqDTO);
/**
   * D3删除问题
   */
    @PostMapping("/app/question/deleteQuestion")
    public OkrResult<DeleteQuestionRespDto> deleteQuestion(DeleteQuestionReqDto reqDTO);
/**
   * D3存档问题
   */
    @PostMapping("/app/question/archiveQuestion")
    public OkrResult<ArchiveQuestionRespDto> archiveQuestion(ArchiveQuestionReqDto reqDTO);
/**
   * D3-更新问题逾期相关(公共)
   */
    @PostMapping("/app/question/refreshProblemOverdueRelateCom")
    public OkrResult<RefreshProblemOverdueRelateComRespDto> refreshProblemOverdueRelateCom(RefreshProblemOverdueRelateComReqDto reqDTO);
/**
   * D3查询相同的问题列表(公共)
   */
    @PostMapping("/app/question/querySameQuestionListCom")
    public OkrResult<QuerySameQuestionListComRespDto> querySameQuestionListCom(QuerySameQuestionListComReqDto reqDTO);
/**
   * D3新增问题(公共)
   */
    @PostMapping("/app/question/addQuestionCom")
    public OkrResult<AddQuestionComRespDto> addQuestionCom(AddQuestionComReqDto reqDTO);
/**
   * D3新增问题业务处理(公共)
   */
    @PostMapping("/app/question/addQuestionBusinessProcessingCom")
    public OkrResult<AddQuestionBusinessProcessingComRespDto> addQuestionBusinessProcessingCom(AddQuestionBusinessProcessingComReqDto reqDTO);
/**
   * D3删除问题(公共)
   */
    @PostMapping("/app/question/deleteQuestionCom")
    public OkrResult<DeleteQuestionComRespDto> deleteQuestionCom(DeleteQuestionComReqDto reqDTO);
/**
   * D3修改问题业务处理(公共)
   */
    @PostMapping("/app/question/updateQuestionBusinessProcessingCom")
    public OkrResult<UpdateQuestionBusinessProcessingComRespDto> updateQuestionBusinessProcessingCom(UpdateQuestionBusinessProcessingComReqDto reqDTO);
/**
   * D3删除问题业务处理(公共)
   */
    @PostMapping("/app/question/deleteQuestionBusinessProcessingCom")
    public OkrResult<DeleteQuestionBusinessProcessingComRespDto> deleteQuestionBusinessProcessingCom(DeleteQuestionBusinessProcessingComReqDto reqDTO);
/**
   * D3-更新问题已过时长(公共)
   */
    @PostMapping("/app/question/refreshQuestionPassDurationCom")
    public OkrResult<RefreshQuestionPassDurationComRespDto> refreshQuestionPassDurationCom(RefreshQuestionPassDurationComReqDto reqDTO);
/**
   * D3执行问题等级转消息提示层级(公共)
   */
    @PostMapping("/app/question/implementQuestionLevelConvertMsgLevelCom")
    public OkrResult<ImplementQuestionLevelConvertMsgLevelComRespDto> implementQuestionLevelConvertMsgLevelCom(ImplementQuestionLevelConvertMsgLevelComReqDto reqDTO);
/**
   * D3执行更新问题状态及消息与数量(公共)
   */
    @PostMapping("/app/question/implementUpdateQuestionStatusMsgNumCom")
    public OkrResult<ImplementUpdateQuestionStatusMsgNumComRespDto> implementUpdateQuestionStatusMsgNumCom(ImplementUpdateQuestionStatusMsgNumComReqDto reqDTO);
/**
   * D3分析问题状态业务操作类型(公共)
   */
    @PostMapping("/app/question/analysisQuestionStatusBizOptTypeCom")
    public OkrResult<AnalysisQuestionStatusBizOptTypeComRespDto> analysisQuestionStatusBizOptTypeCom(AnalysisQuestionStatusBizOptTypeComReqDto reqDTO);
/**
   * D3执行问题消息标题接收变量(公共)
   */
    @PostMapping("/app/question/implementQuestionMsgTitleReceiveVariableCom")
    public OkrResult<ImplementQuestionMsgTitleReceiveVariableComRespDto> implementQuestionMsgTitleReceiveVariableCom(ImplementQuestionMsgTitleReceiveVariableComReqDto reqDTO);
  //
}
